Algebraic-integration inertial navigation system



Nov. 19, 1968 v. H. SELIGER ET AL 3,412,239

ALGEBRAIC-INTEGRATION INERTIAL NAVIGATION SYSTEM Filed Jan. 22, 1965 7 Sheets-Sheet 1 0077 07 AXIS I |FLO 7:4 r/a/v AXIS INVENTORS V/CTO/Q H5ELIGR HENRY BLAZEK ESE/ h LEV/IVE ALl/l/V ZECH/VOW/TZ .JOSEPH 5774/11.

L ATTORNEYS Nov. 19, 1968 Filed Jan. 22. 1963 t l i I i v.- H. SELIGER ET AL 3,412,239 ALGEBRAIC- INTEGRATION INBRTIAL NAVIGATION SYSTEM 7 Sheets-Sheet 5 .52m v 2 I A R AR w R x at+n +qu c R -w R At --CIAR (0 R z A t+Av +c U A t+ C (weoxR (b COMPUTER MAGNITUDE vELocrrY MODE VELOCITY-ACCELERATlON MODE:

t t eozl 'f 'x eq 21 M (%9 eZ]-n+| where-T as THE TIME CONSTANT OF THE FILTER.

AND TESTS ON PRESENT MODE, R ,AND 7\ AUTOMATIC MODE SELECTOR Nov. 19, 1968 v. H. SELIGER ET AL 3,412,239

ALGEBRAIC-INTEGRATION INERTIAL NAVIGATION SYSTEM 7 Sheets-Sheet 5 Filed Jan. 22, 196v [MAGNET/C MEMORY DRUM MATRIX COMPUTER INVENTORS 14 r0? h. JEL/GER HENRY BLA 25K J05EPH LEV/ME AL w/v ZECHNOW/TZ JOSEPH 57/4/14 ATI'ORN EYS Nov. 19, 1968 v. H. SELIGER ET AL 3,412,239

ALGEBRAIC-INTEGRATION INERTIAL NAVIGATION SYSTEM '7 Sheets-Sheet 6 Filed Jan. 22, 1963 will lllulllll MAG/V5776 M57702) pea/v (AVXI INVENTORS m2? QMWMM a o 5 5 M 5 yHt 25 0M 5 2% w M ATTORNEYS Nov. 19, 1968 v. H. SELI GER E ALGEBRAIG-INTEGRATION INERTIAL NAVIGATION SYSTEM Filed Jan. 22, 1963 '7 Sheets-Sheet 7 [23 A34 35 {NAG/VEpZZ/{VEMORY [22 x 0 A24 Z w l2, a zo u g [Eh 11g 5 5 E} u m x ln a: u: u 3 ti U D F q E, E my gf a 2 E R R R R u TRACK DATA r A/ I L ADDRESS INSTRUCTION TR CK 'Lfl SELECTOR sEu-Lcroa DATA SELECTOR EXTERNAL /.2 DATA ruluc'rlonoscoozn 'NPUT AND COMMAND GENERATOR v1 2 /25 /26 /Z7 5 E m 5 m m [2r 5 (E g 25 l- ,i' 34 92 V! E E .1 m 3 6 3 E s m a: .2 P R R d R R MAG/V6776 IVE/10R Y DRUM INITIAL CONDITIONS,

, ARITHMETIC UNIT ticrmma S'GNALS) (Fl W35. INVENTORS LEV/IVE A1 w/v ZEC/M/OW/fZ 7355 5774x7 4,

ATTORNEYS United States Patent 0 3,412,239 ALGEBRAIC-INTEGRATION INERTIAL NAVIGATION SYSTEM Victor H. Seliger, North Caldwell, N.J., and Henry Blazek, Nyack, Joseph Levine, North Bellmore,: Alvin Zechnowitz, Howard Beach, and Joseph Stahl, Queens Village, N.Y., assignors to Sperry Rand Corporation, Ford Instrument Company Division, Long Island City, N .Y., a corporation of Delaware Filed Jan. 22, 1963, Ser. No. 253,531 8 Claims. (Cl. 235150.25)

This invention relates to inertial navigation computing systems and particularly to those systems employing sensors which are strapped down to the vehicle in which they are disposed and, hence, not mounted on stabilized platforms.

The inertial navigation system which embodies the present invention computes the navigation parameters simply and without error due to motion of the vehicle. These parameters afford an indication of vehicle position, velocity and attitude under all conditions of vehicle position and motion. The computations are made in the inertial frame in which the solution varies at a relatively low rate. Previous navigation systems have either made the navigation computation in a nondynamically exact manner so that the indicated output contained errors resulting from vehicle motion or else have determined some of the necessary parameters in a complicated and implicit manner.

The invention combines a set of sensors (inertial, Doppler radar and altimeter) with a special purpose digital computer, in order to provide an inertial navigation system which computes the various navigation parameters simply and without error due to motion of the vehicle. The computer has been designed specifically for use with a set of components, 3 rate integral gyros, 3 accelerom eters, a three axis Doppler radar system, and an altimeter, which are strapped down, that is mounted directly to the body of the vehicle in which they are disposed and without the use of a stabilized platform. However, the computer may readily be adapted to a stabilized platform configuration of inertial sensors. The digital computer utilizes basic building blocks well known in the industry, combined in specialized and unique manner for the solution of a set of explicit equations relating to various navigation parameters.

There follows a detailed description of the inertial navigation system, the description being taken in conjunction with the accompanying drawings, in which:

FIG. 1 shows a rate integral gyro and output transducer;

FIGS. 2., 2A and 2B are block diagrams showing the inertial navigation system; and

FIGS. 3, 3A and 3B show the schematic circuit of the system.

The sensors for the system provide its inputs and include an altimeter 10, three orthogonally mounted rate integral gyros in box 11, three orthogonally mounted accelerometers in box 12 and a radar Doppler 13, each of the rate integral gyros consisting of a rate integrating gyro, as shown in FIG. 1, mounted in a gimbal having its axis along the rate integrating gyro input axis, and having a servo adapted to provide stabilization about the input axis. Inductive pickoff 15 measures rotation of the inner cylinder of the rate integrating gyro with respect to its outer cylinder aboutthe flotation axis, providing servo error signals via servo loop amplifier 16 to torque motor 17 to effect stabilization about the input axis. The output of the rate integral gyro, provided by the digital encoder 18, is a train of pulses representing incremental angular rotations of the servoed gimbal with respect to the base. Since the base of the gyro is rigidly fixed to frame of the vehicle so that it indicates the acceleration along an axis parallel to one of the rate integral gyro measuring axes. The accelerometers are provided with digital transducers which provide pulse rates proportional to acceleration along the accelerometer measuring axes.

The radar Doppler 13 is rigidly mounted to the frame of the vehicle so that it indicates the components of vehicle ground velocity along axes parallel to the measuring axes of the rate integral gyros. Its output has three channels each of which provides a pulse rate proportional to the component of ground velocity along one of the three measuring axes of the rate integral gyros.

The altimeter 10' provides a whole number digital output representing altitude above sea level.

As shown in FIG. 2, the gyros provide the three components of the vehicles incremental angular rotations about the three measuring axes, w At, w At and w At, to matrix computer 21 which derives therefrom the directions cosines which are used subsequently to convert the accelerometer and radar Doppler output components from the body or vehicle system to the inertial system. The computer 21 computes intermediate values of the direction cosines [b [b' and [b' where 2 equals 1, 2 and 3. The equations for these computations are indicated in box 21 and in the equations A0,- is w At. The same elements in the computer then compute updated values for the direction cosines having the notations [b [b and [b The updated values of the direction cosines are calculated according to the equations which are also shown in box 21. The direction cosines derived in the matrix computer indicated by the symbol M are placed in the coordinate converter 22 which uses the direction cosines to transform the velocity and radar Doppler data obtained from the accelerometers and radar Doppler respectively, from the body system to the inertial system according to the equations shown in box 22.

The system includes a whole number computer which inter alia computes latitude A of the vehicle. Latitude information in the form of sin A and cos is placed in the Schuler frequency computer 19. This section of the computer calculates 0: according to the equation shown in the block diagram. The F computer 23 employs the quantities (1: and the transformed accelerometer and radar Doppler velocity components indicated by the symbols AVI and fil nt to compute the x, y and z position components of the vehicle with respect to the center of the earth, indicated by the notation E and their derivatives fil and the three Doppler components indicated by the symbol IT. These quantities are placed in computer 24 which determines the x, y and z components of the earths angular velocity. The computer 24 is designated the ar computer and makes computations of earths angular velocity components in either the magnitude-velocity mode or the velocity-acceleration mode according to the output of automatic mode selector 25. The earths angular velocity components represented by the symbol w are then placed in ar filter 26 which smooths and updates the vectorial components which are represented by the notations eoi-Jn-t-b eoy]n+1, and eoz]n+1- Output parameter computer 27 employs as inputs the smoothed components of earths angular velocity indicated by the symbol w and the position components derived in the E computer namely R R and R collectively indicated by the symbol Ft and their derivatives R 3 R and R which are collectively indicated by the symbol Rh. The computer 27 serves to calculate the vehicles latitude A, its longitude (,6, its northerly velocity component V its easterly velocity component V and its course 1/ according to the equations shown in box 27 in the block diagram of FIG. 2.

The matrix computer continuously updates the nine b elements of the B-matrix, each element once during every iteration. The updating of each b element is a twopart process wherein first the intermediate quantity b' is computed followed by the computation of the updated 11 The required computations are made using a rapid, special purpose device as described below, taking only 1 millisecond for a complete updating iteration.

The three b elements of a single colume of the B- matrix are stored in a six-word recirculating register (on a magnetic memory drum) along with the three b elements as follows:

Each b word is composed of 48 bits in order to meet the required accuracy. The formation of the intermediate quantity b' required the addition and subtraction of terms of the form /2 b A with b terms. For simplified multiplication, the A0, quantity, received from the z axis gyro, is used in the form of a scaled pulse to gate the stored b element. The scaling of the A6 pulse is adjusted so that, for the maximum vehicle rotation rate, not more than one At), pulse will occur during a single iteration of the matrix computer. The corresponding scaling of the b quantity (2- and the /2 factor together require a 2 scale factor which is achieved by reading out the b term for the product from the recirculating register 12 bits earlier than the b term to be added. Thus, utilizing three recirculating registers (each containing the elements of a single column of the M matrix), the three old b elements of a single row of the M matrix are read out simultaneously, gated by the proper A0 pulses, and combined with the proper old values of b using one adder and one subtracter for each column. The newly formed b' terms are then stored in the correct column recirculating registers. The same process is repeated for each of the three rows of the M matrix until each six-word register contains both the set of three old b values and the three newly formed b terms of one column.

The second part of the updating process now begins and, since the equation for b,,- and b are almost identical, the process is almost identical, using the same A0 +1) gating signals and the same adders and subtracters. The differences between the two parts of the computation are the following: a one bit delay is used in forming the product terms b' M in order to change the b' scale factor from 2- to 2* to account for the absence of the /2 factor. The b' terms are used for the product terms rather than the b terms. The b terms are read out from the end of each register rather than from the middle (this is because the three old values of b have shifted from the one position to the other during the first part of the updating process).

As each new value of b is formed, it is also stored in its proper location in one of the six-word recirculating registers to be used for future computations.

In FIGURE 3, the simplified logic and the timing signals required for the above process are shown. Not shown is the synchronization of A0 pulses to machine timing. The Armpulses, arriving at random from the gyros, are stored in a set of flip-flops. At the beginning of each iteration of the matrix computation, the pulse data is transferred to a second set of flip-flops which are unchanged for the remainder of the cycle, and the first set is cleared.

As shown in FIGURES 3, and 3b, the timing signals re o tained from the ti i g tracks 0 01.1 the mag ic drum and are employed to control gates 32 through 43 of the matrix computer. In addition, gates 32 and 33 are connected to a readout head of (21 track 44 of the magnetic memory drum. Gate 33 is connected through an OR gate 46 to a second gate 47 in which the direction cosines (b are gated by the quantity A0,. placed in subtracter 50. The (12 track 51 is also connected to the subtracter through the gate 37, OR gate 52, A6 gate 53 and the adder 54. The adder 54 also receives the quantity (b from the track 55 which supplies this direction cosine through gate 42 and OR gate 56. The process is repeated three times for all the values (b' where i equals 1, 2 and 3. The direction cosine (111 is similarly determined in the matrix computer. To that end, the track 44 is connected to the Afl gate 57 through the gate 33 and the OR gate 46 and the output of gate 57 is then fed to adder 58 which is also connected to the track 51 through the gate 38 and the OR gate 60 to receive the quantity b The output of the adder is then placed into subtracter 61 to which is fed the direction cosine b from track 55 gated by the quantity AO by gate 62 which is connected to gate 41 which receives b from the track 55 by means of the OR gate 64. The write head for the b track 51 then receives from the subtracter 61 the quantity (b The quantity (b' is similarly computed. Accordingly, gate 37 receives from track 51 the direction cosine b and feeds its output through OR gate 52. A0 gate 67 in turn places the combined quantity /2A0 (b in subtracter 70. The other input to the subtracter 70 is received from the adder 72 and there is placed in the adder the quantity /2A6 (b by means of track 55 and the connecting elements, gate 41, OR gate 64 and A0,. gate 73. Also placed in the adder 72 is the readout quantity b from track 44 which is fed to the adder 72 through gate 34 and OR gate 74. The process is repeated three times for i equaling 1, 2 and 3.

The intermediate values of the direction cosines are then used in the same time shared components utilizing gates 32, 35, 36, 39, 40, 43 and the 1 bit delays 45, and 63, to determine the updated values of the direction cosines, the process being also iterative. The equations for determining the updated values are nearly the same as for the intermediate values of the direction cosines and, accordingly, the determinations may be made by the same equipment.

The coordinate converter 22 converts the accelerometer and Doppler outputs from body to inertial coordinates and to that end employs the direction cosines determined in the matrix computer 21. The conversions are effected according to the equations in box 22 in the block diagram of FIG. 2. Accordingly, the conversions of the accelerometer data is implemented as follows. To compute AV in the inertial frame, OR gate 75 receives the quantity AV in the body system from one of the accelerometers in box 12 and places this component in gate 76 which also receives the direction cosine b which is obtained from the (b track 55, the output of gate 76 b AV being placed in adder 77 through time controlled gate 78 and OR gate 80. In addition, AV in the body system derived in one of the accelerometers is placed in OR gate 81 and gates the direction cosine 12 which is obtained from the (h track 51, in gate 82 which places the combined output in adder 83 which is connected to the adder 77 from time controlled gate 90, OR gate 91 and OR gate 92. The adder 83 also receives the quantity b AV from OR gate 84 and gate 85 which is connected to the (h track 44.

The quantity AV in the inertial frame is computed as follows. The direction cosine Z2 is read out of track 55 and is placed in gate 76 which receives the component AV from the OR gate 75 and places the combined quantity b AV in adder 77. The adder 83 receives as two separate inputs the quantities b hV and b AV from gates 82 and 85, respectively, which in turn receive the direction cosines [2 and b from tracks 51 and 44 respectively, and the components AV and AVZ from OR gates 81 and 84, respectively. AV is similarly computed as follows: The quantity Z1 which is obtained from the (b track 55, gated by component AV in the body system in gate 76, the combined output b AV is placed in the adder 77. The direction cosine 11 derived from track 51 is gated by the quantity AV in gate 82 and the combined output is placed in adder 83 which also receives from the input of gate 85 the quantity b AV derived from track 44 and OR gate 84, respectively. The output of the adder 83 is then placed in adder 77 which receives in time the three velocity increment components in the inertial frame, namely, AV I AV and AV I The three Doppler components in the body system represented collectively by the notation il At in FIG. 2 are then separately placed in OR gates 81, 75 and 84 and the same process is completed to effect their conversion to incremental components in the inertial frame, according to the equations in FIG. 2.

The computer computes the vector which establishes the position of the vehicle relative to the center of the earth. As indicated in FIGURE 2, the information used in the computation includes the accelerometer and Doppler data expressed in inertial coordinates, altimeter information, feedback information from the w filter 26 and feedback of latitude information from the output parameter computer 27. The equations solved in the Ti computer are:

and

Where =vehicle position vector fq fil =first and second time derivatives, respectively, of

F referred to inertial space C =damping constant K K K K =constants for w, computation k=latitude h==altitude above sea level (from altimeter) w =Schuler (radian) frequency (0 is computed as shown in Equation 11. This Equation 11 also corrects for the nonsphericity of the earth.

The solutions to the difference equations shown in box 23 are derived in the Digital Differential Analyzer (D.D.A.) portion of the Ti computer. The Y track 96 and the R track 95 each contain 60 recirculating registers which, utilizing the proper gates and adders of the drum, provide a capacity for 60 integrators. The D.D.A. integrator utilizes the standard rectangular method of approximating an integration 1]. Z =f YdZ 0 with the summation I1 Z EYAX The generation of the function (Y) to be integrated is effected by adding AY increments which are obtained from AZ sign track 115, AZ magnitude track 116, AY location track 101, location coincidence and logic circuits 102, forward-backward counter 103, shift register 104, gates 105 and 80 and adder 77 to an initial value of Y obtained from Y track 106 and the gates 91 and 92 and storing the sum in a Y register associated with the track 106. The summation of YAX is accomplished by scaling AX to unity, using AX obtained from AZ sign track 115, AZ magnitude track 116, AX location track 107 and the logic circuit 102 to gate the accumulated Y values through gate 108, and accumulating YAX in the R track 110. Since YAX is accumulated in a finite register, overflows will occur. If the remainder in this accumulating register is defined as R and the overflow as AZ, then Z=R +ZAZ. The register on track containing R is called the R register, and the overflows (AZ) from this register are used as inputs (either AY or AX) to other integrators. Since AZ is a measure of the rate of change of Z, the basic equation solved by the integrator is AZ=YAX, approximating the differential term dZ=YdX.

The AZ pulse outputs from the various integrators are stored in a pair of precessing recirculating tracks 115, 116, the former being for sign and the latter being for magnitude, such that a multiplicity of integrator outputs may be stored in one word length. The AZ storage is accomplished as follows: Each integrator is processed, once for each iteration, during a single 24-bit word time. At a fixed bit-time during each Word time, the AZ pulse (if any) is stored in the AZ tracks. The AZ track word length is only 23 bits long and this word continuously recirculates between write and read heads on the AZ track. Since there is a one-bit difference in word lengths, the bit position of the AZ word that appears at the AZ writing head at the time a new AZ is to be recorded precesses such that the outputs of 23 successively processed integrators may be recorded in the single AZ word. Thus, the integrator processed has available to it the outputs of the previous 20 integrators. Access to 3-bit positions is lost in order to avoid conflict with timing and switching data which are read out prior to selecting the correct AZ pulses.

The actual D.D.A. operation is as follows: in the word time prior to the processing of a particular integrator, a pair of 24-bit location words is read out from the location tracks 101 and 107, one for AX and one for AY. Each location word includes one bit to select the mode of operation (D.D.A. or coordinate conversion), two bits for switching functions, one bit to assign the sign of the AZ quantity as required by the difference equations, and 20 bits to be used simply as coincidence pulses for the proper AZ selection. Each time a coincidence pulse occurs, the corresponding AZ is read out. Several AZ pulses may be combined to form the AY input to a particular integrator. Since these may be positive or negative, the forward-backward binary counter 103 is used to count pulses. When all the AZ pulses for the AY input to an integrator have been counted, the total is dumped in parallel into the AY shift register 104 so that when the stored Y value of the integrator is serially read out a serial addition of Y+AY may be effected to form the new Y value. In the case of AX, only one AZ pulse is used as an input to a given integrator and it is selected by a coincidence pulse from the AX location track 107. The AX pulse is used directly as a gating pulse to allow the summation of YAX with the contents of the R register. The logic of the overflow detector 112 is connected to receive the combined YAX output of gate 108 and the read-out quantity R from track 110, that is, quantities being combined in adder 114. The detector 112 detects any AZ overflow of the R register in terms of sign and magnitude. The AZ sign and magnitude pulses are stored in the AZ tracks 115 and 116, respectively, and the re- ,mainder of the addition is stored in the R register of that integrator.

The difference equations are implemented, therefore, using the available integrators with the flow of data directed by the words of the location tracks. The methods of forming the various terms of the difference equations are as follows: Constants are entered as whole numbers directly into the Y registers of the required integrators. The quantities a1 (v w and w computed in the w section of the R computer 23 and the ar computer 24, are

periodically updated in the R computer by entering the new values, in whole number fashion, directly into the proper Y registers. In order to form terms having a quantity (K) multiplied by an increment of time (At), At pulses serve as the AX quantity to pulse the integrator having K in its Y register; this gives overflow pulses AZ=KAt. In forming quantities having a variable R multiplied by a KAt quantity, KAt pulses serve as AX to pulse a Y register which sums increments (AR of R the result is overflow pulses AZ R KAt. To form an expression like the previous one but multiplied by a quantity K to obtain (KR KAt), it is necessary only to pulse the integrator having K in its Y register with the R KAt pulses. In the case of Doppler components, U At pulses are formed by summing the coordinate converted values in an R register and obtaining overflow pulses; the U Ar overflow pulses are then used as AX pulses to pulse the integrator having C in its Y register in order to form C U At pulses. The quantity U the pulse rate of U At pulses, is required for the w computation in the w computer; it is formed simply by counting U At pulses over a fixed interval of time.

The whole number computer 120 is a general purpose type machine which performs all of the remaining computations of the algebraic-integration system. Included are the computations for w latitude, longitude, course, and velocity. Using a stored program of instructions and a time-shared arithmetic section, the whole number computer performs all the required computations in about 2 seconds and repeatedly does this.

The instructions for the machine are stored on eight tracks, 120 words each, on the drum. Data storage tracks include a 30 word rapid access recirculating track 121, a 120 word nonrecirculating track 122, and the Y track 106 of the Ecomputer. The drum also contains an address track 123 which serves as an angular position reference about the drum, a single word recirculating instruction register 124 used while extracting information from instruction words, from instruction tracks 134 and 135, and three single word recirculating arithmetic registers 125, 126 and 127. Off-drum hardware includes an instruction selector 128, a data selector 129, a track selector 130, an address comparator 131, a function decoder and command generator 132, an arithmetic unit 133 connected to the encoder and generator 132 which contains the supporting logic and adders for the arithmetic section, miscellaneous logic and gating circuitry, and the read heads, write heads, erase heads and amplifiers required for the drum tracks.

Actual operation of the Whole number computer is as follows: the instruction register 124 is employed to rev angular position), and 11 bits to specify the address of A the next instruction (4 bits for track, 7 hits for angular position data). While the instruction word recirculates, the 4-bit function word is decoded into the appropriate commands and used to generate the proper gating signals in the arithmetic section. Next, the operand is located and then the search for the next instruction is effected. The 2 bits of the operand track data are interpreted by the track selector 130 in order to direct the logic of the data selector 129 to select the proper one of three possible data tracks. The 7 bits of the operand angular position data are compared with the address track data until equality is obtained; the operand is gated from the selected data track into the arithmetic unit 133 during the Word time following equality. The search for the next instruction word is similarly handled with 4 bits used to select the correct one of eight instruction tracks and 7 bits to determine the angular position; upon equality, the next instruction word is gated into the instruction register.

The operand or data word consists of 24 bits including a spacer bit, a sign bit, and 22 bits for the actual number.

The data word is processed in the' arithmetic section in any one of 16 basic operations as directed by the 4-bit function word previously decoded. These include addition, subtraction, multiplication, division, clear, shift, store, etc.

The arithmetic section includes arithmetic unit 133 and the three single word recirculating drum registers, designated the X, A and Q registers 125, 126 and 127, respectively. The X register is a fixed 24-bit register while each of the others is composed of a 23-bit track length plus 2 bits of switchable flip-flop delay. The A and Q registers 126 and 127, respectively, are thus able to assume a 23, 24 or 25 bit effective length. This facility permits the shifting of either of these registers one bit right or left per Word period. The basic operation of the arithmetic section involves the addition of the X register contents to that of the A register with the sum entered into the A register. Subtraction is accomplished using the same registers but on a twos complement basis. Multiplication is effected through repeated additions with the multiplier located in Q and the multiplicand in X. At the conclusion of the multiplication, the most significant portion of the product will appear in A with the least significant portion appearing in Q. In division, a double length word appearing in A and Q, as above is divided by a single length word in X. At the conclusion of the division, the quotient will appear in Q with the remainder available in A.

The shift instruction utilizes the operand address portion of the instruction word to specify the shift count and direction of shift; included are a right and left shift of A and of A and Q together. The latter shift treats the A and Q registers as combined to form a double length register with the Q portion the least significant part. The shift counting process is simply implemented by placing the twos complement of the shift count in the angular address portion of the operand address and to increment the instruction word by one per each circulation. Overflow from the angular address portion would then serve to indicate completion of the shift. The same counting scheme is used also for counting the 24 steps allowed for multiplication and division operations; this requires that, following the obtainment of the operand, the angular aidress portion be replaced by the twos complement of 2 The sign jump command is used when a decision is to be made by the computer. The manual jump commands may be used to change the mode of operation. The binary to binary-coded decimal conversion is accomplished on command simply by a series of shifts (by delays), add, and overflow shift operations. Other operations, not included in the basic commands, such as square root and arctan computations, are accomplished by programming the basic commands as required. Subroutines are not used for these operations since a subroutine used in more than one place in the program requires a final step with variable next instruction address, while, for reliability, it is desirable not to have any modification of instruction addresses. Thus, for example, the square root program may be repeated five times during a complete whole number computation cycle; the cost is simply a little more instruction storage space.

Control timing signals, required to support the operation of the whole number computer, are stored on a prerecorded drum track 30. These signals determine the necessary gating signals while initial condition quantities are stored on tracks 136.

The computations of the x, y and 2 components of the earths angular velocity vector are made according to one of the two sets of equations shown in box 24 of FIG. 2. The ar computer computes in either the magnitude-velocity mode, the velocity-acceleration mode or the w memory mode depending upon conditions in the automatic mode selector 25. The selector 25 constantly monitors both position and velocity, and automatically switches the ar solutions in the computer 24 and hence affects the solutions in the w filter 26 so that the optimum w computation is achieved under the prevailing conditions. The primary modes of w computation are the magnitudevelocity mode and the velocity-acceleration mode, while the w memory mode is used to replace the latter under particular velocity conditions. The selector 25 receives latitude and easterly velocity V causing switching between modes to occur according to the following:

In magnitude-velocity mode: switch to velocity-acceleration mode when -LT In velocity-acceleration mode: switch to w memory mode when R V switch to magnitude-velocity mode when 7\ +a' In w memory mode: switch to velocity-acceleration mode when R V +6; switch to magnitude-velocity mode when +o' where R =|V +w R|=magnitude of the east component of the velocity with respect to inertial space V =minimum velocity with respect to inertial space for velocity-acceleration mode V =east component of vehicle velocity 6=small velocity used to provide a dead band of 26 w R=velocity of point on earth surface at the equator,

a constant A =lower latitude limit of magnitude-velocity mode m=small angle used to provide a dead band of In the w memory mode, the filtered components of w are frozen at the most recently computed values, remaining fixed until the mode is again switched.

The ar filter 26 accepts the computed values of the x, y and 1 components of w and filters them in accordance with the equations shown in box 26 of the block diagram which lend themselves to iterative process of computation. In the equations, zero subscript signifies a filtered quantity, n+1, and n subscripts denote the current and previous values, respectively, of the variable components, At is the iterative period of the whole number computer 120 and T is the filter time constant.

The output parameter computer accepts information on It, RI and ar from the It computer 23 and w filter 26 and computes the navigation parameters including position, velocity, and latitude from the equations presented below:

(when Doppler data is available) fi jill eo (when Doppler data is not available) V =north component of velocity V =east component of velocity ell R X eoX (the horizontal component of (3,

Course:

11/ are tan E N) t Course (direction with respect to north, of the vehicles velocity with respect to earth) Attitude: The vehicles attitude is determined from a knowledge of the vectors R and (5 relative to the body frame. However, the actual attitude angles are not computed since it is usually sufl-icient to make these vectors available for reference within the computer.

Various modifications of the inertial navigation system as described above may be effected by persons skilled in the art without departing from the principle and scope of the invention as defined in the appended claims.

What is claimed is:

1. An inertial navigation system having as sensors an altimeter, orthogonally arranged gyros and accelerometers and a radar Doppler, means connected to said gyros for determining direction cosines for converting the velocity and displacement incremental outputs of the accelerometers and Doppler, respectively, from the body to inertial frame, a coordinate converter connected to the direction cosine determining means, a means for computing connected to said altimeter, an E position determining computer arranged to receive the output of the coordinate converter and M computing means and a whole number computer for determining course, velocity and longitude and latitude position connected to said it position determining computer, wherein w is Schuler frequency and R is a vector quantity representing distance to the center of the earth.

2. An inertial navigation system having as sensors an altimeter, orthogonally arranged gyros and accelerometers and a radar Doppler, a matrix computer connected to gyros and adapted to determine direction cosines which are used to convert the velocity and displacement incremental outputs from the accelerometers and the radar Doppler to inertial frames, a coordinate converter connected to the direction cosines determining means, a means for computing w connected to said altimeter, and E position determining computer arranged to receive the output of the coordinate converter and 0: computing means and a whole number computer for determining course, velocity and longitude and latitude position connected to said It position determining computer, wherein w, is Schuler frequency and 'R is a vector quantity representing distance to the center of the earth.

3. An inertial navigation system having as sensors an altimeter, orthogonally arranged gyros and accelerometers and a radar Doppler, a matrix computer connected to gyros and adapted to determine direction cosines which are used to convert the velocity and displacement incremental outputs from the accelerometers and the radar Doppler to inertial frames, said matrix computer having means for intermediate and updated values of the direction cosines, a coordinate converter connected to the direction cosine determining means, a means for computing 0.1 connected to said altimeter and position determining computer arranged to receive the output of the coordinate converter and computing means and a whole number computer for determining course, velocity and longitude and latitude position connected to said K position determining computer, wherein u is Schuler frequency and E is a vector quantity representing distance to the center of the earth.

4. An inertial navigation system having as sensors an altimeter, orthogonally arranged gyros and accelerometers and a radar Doppler, a matrix computer connected to gyros and adapted to determine direction cosines which are used to convert the velocity and displacement incremental outputs from the accelerometers and the radar Doppler to inertial frames, said matrix computer having means for intermediate and updated values of the direction cosines, the computation for the intermediate values being implemented according to the following equations:

and the computation for the updated values being implemented according to the following equations:

[ ra](" ia]( 'n](") X[ '12]( where i equals 1, 2 and 3, wherein b' b and [2' are intermediate values of direction cosines between the body frame and the inertial frame and b b and 11 are updated values thereof, A6, A0,, and A6 are the angular increments in the body frame measured by the rate integral gyros and the components for determining the intermediate and updated values of the direction cosines are time shared, a coordinate converter connected to the direction cosine determining means, a means for computing 10 connected to said altimeter, and T1 position determining computer arranged to receive the output of the coordinate converter and computing means and a Whole number computer for determining course, velocity and longitude and latitude position connected to said E position determining computer wherein m is Schuler frequency and I? is a vector quantity representing distance to the center of the earth.

5. An inertial navigation system having as sensors an altimeter, orthogonally arranged gyros and accelerometers and a radar Doppler, means connected to said gyros for determining direction cosines, a coordinate converter connected to the direction cosine determining means for converting the velocity and displacement incremental outputs of the accelerometers and Doppler, respectively, from the body to inertial frame, a means for computing w connected to said altimeter, and E position determining computer arranged to receive the output of the coordinate converter and ref computing means wherein m is Schuler frequency and F is a vector quantity representing distance to the center of the earth.

6. An inertial navigation system as defined in claim 5 wherein said coordinate converter converts the velocity and displacement increments from the body to inertial frames in accordance with the following equations:

. [r are direction cosines wherein b AV IEAV I and AV I are velocity increment components in inertial frame,

AV ,AV and AV I are velocity increment components in the body frame,

U I ALU I AI and U I At are displacement increment components in the inertial frame, and

UXIBALUYIBM and U l At are displacement increment components in the body frame.

7. An inertial navigation system having as sensors an altimeter, orthogonally arranged gyros and accelerometers and a radar Doppler, means connected to said gyros for determining direction cosines for converting the velocity and displacement incremental outputs of the accelerometers and Doppler, respectively, from the body to inertial frame, a coordinate converter connected to the direction cosine determining means, a means for computing (0 connected to said altimeter, an E position determining computer arranged to receive the output of the coordinate converter and (U52 computing means and a whole number computer for determining course, velocity and longitude and latitude position connected to said F position determining computer, said whole number computer having a means for determining x, y and z components of the earths angular velocity vector filter means connected to the latter means and an output navigation parameter computer connected to said filtering means and to said E position determining computer, wherein m is Schuler frequency and E is a vector quantity representing distance to the center of the earth.

8. An inertial navigation system as claimed in claim 7 wherein said means for determining the x, y and z components of the earths angular velocity vector w include means for alternatively determining said components in the magnitude-velocity mode or the velocity-acceleration mode or the memory mode and there is provided an automatic mode selector connected to the output navigation parameter computer for controlling the mode of computation in the said x, y and z earths angular velocity component determining means.

References Cited UNITED STATES PATENTS 2,914,763 11/1959 Greenwood et a1. 343-9 3,028,592 4/1962 Parr et a1. 3437 2,953,303 10/1960 Sedgfield 235187 2,996,268 8/1961 Brown et al. 235151 3,021,068 2/ 1962 Ostrolf 235-187 3,087,333 4/1963 Newell 235-451 3,103,579 10/1963 Green 235-187 MARTIN P. HARTMAN, Primary Examiner.

LEWIS H. MYERS, Assistant Examiner. 

1. AN INERTIAL NAVIGATION SYSTEM HAVING AS SENSORS AN ALTIMETER, OTHOGONALLY ARRANGED GYROS AND ACCELEROMETERS AND A RADAR DOPPLER, MEANS CONNECTED TO SAID GYROS FOR DETEMINING DIRECTION COSINES FOR CONVERTING THE VELOCITY AND DISPLACEMENT INCREMENTAL OUTPUTS OF THE ACCELEROMETERS AND DOPPLER, RESPECTIVELY, FROM THE BODY TO INERTIAL FRAME A COORDINATE CONVERTER CONNECTED TO THE DIRECTION COSINE DETERMINING MEANS, A MEANS FOR COMPUTING WS2 CONNECTED TO SAID ALTIMETER, AN -R POSITION DETERMINING COMPUTER ARRANGED TO RECEIVE THE OUTPUT OF THE COORDINATE CONVERTER AND WS2 COMPUTING MEANS AND A WHOLE NUMBER COMPUTER FOR DETERMINING COURSE, VELOCITY AND LONGITUDE AND LATITUDE POSITION CONNECTED TO SAID -R POSITION DETERMINING COMPUTER, WHEREIN WS IS SCHULER FREQUENCY AND R IS A VECTOR QUANTITY REPRESENTING DISTANCE TO THE CENTER OF THE EARTH. 